// 18位身份证验证
const exp_card18 =
	/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
// 15位身份证验证
const exp_card15 = /^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$/;
// 规则校验的配置
export const _ruleConfig = {
	ruleData: {
		card(label) {
			return {
				exp: [exp_card18, exp_card15],
				msg: `身份证号校验不通过`,
			};
		},
	}
};
// 综合列表组件的配置
export const _SuperTable = {
	// 行数据的id标识
	rowKey: 'id',
	// -----------------
	fieldPage: 'page',
	fieldPageSize: 'limit',
	fieldTotal: 'total',
	fieldDatas: 'list',
	defaultPage: 1,
	defaultPageSize: 10,
	defaultTotal: 0,
	defaultDatas: [],
	// -----------------
	boxParam: undefined,
	initLayout: undefined,
};
// 分页配置，可定义为函数或对象
export const _ProPager = undefined;
// 分页配置，可定义为函数或对象
export const _ProTable = undefined;
// 可展开筛选组件配置
export const _FilterLayout = {
	// 展开部分是否有分割线
	model: 'divider'
};
// 环境切换组件配置
export const _SwitchEnv = {
	envs: {
		local: {
			label: '本地环境',
			protocol: 'http:',
			hostname: '127.0.0.1',
			port: '9007',
			pathname: 'api',
		},
		development: {
			label: '研发环境',
			protocol: 'http:',
			hostname: '121.37.217.25',
			port: '9007',
			pathname: 'api',
		},
		test: {
			label: '测试环境',
			protocol: 'http:',
			hostname: '121.37.195.250',
			port: '9007',
			pathname: 'api',
		},
		production: {
			label: '生产环境',
			protocol: 'http:',
			hostname: '121.37.217.25',
			port: '9007',
			pathname: 'api',
		},
	},
};

// 处于初始化配置的函数
export default function(name, value) {
	if (value && typeof value === 'object') {
		if (type === 'SuperTable') {
			Object.assign(_SuperTable, value);
		} else if (type === 'SwitchEnv') {
			Object.assign(_SwitchEnv, value);
		} else if (type === 'ruleConfig') {
			Object.assign(_ruleConfig, value);
		}
	}
}